package com.zxy.controller;


import com.zxy.common.result.Result;
import com.zxy.pojo.dto.MenuQueryDTO;
import com.zxy.pojo.vo.SysMenuVO;
import com.zxy.service.SysMenuService;
import com.zxy.util.OperLog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 菜单Controller（对外提供树形列表接口）
 */
@RestController
@RequestMapping("/system/menu") // 接口路径，与部门接口风格保持一致
public class SysMenuController {

    @Autowired
    private SysMenuService sysMenuService;

    /**
     * 菜单树形列表查询（无分页，data直接放列表）
     * @param query 查询条件（菜单名称、类型、状态等，可选）
     * @return 符合前端格式的结果
     */
    @OperLog(title = "菜单树形列表查询",businessType = 0,saveParams = true,saveResult = true)
    @GetMapping("/list")
    public Result<List<SysMenuVO>> getMenuList(MenuQueryDTO query) {
        // 调用Service获取树形菜单列表
        List<SysMenuVO> menuTreeList = sysMenuService.getMenuTreeList(query);
        // 返回结果：code=200，msg=操作成功，data=树形列表
        return Result.success(menuTreeList);
    }
}
